import sys
import random
from PySide2 import QtGui, QtWidgets, QtCore 

class MainWindow(QtWidgets.QWidget):
    def __init__(self) -> None:
        super().__init__()
        # 设置主窗口
        self.resize(400, 300)
        # 设置主窗口标题
        self.setWindowTitle('hello world')

        # 定义语言
        self.hello  = ['Hallo Welt', '你好世界', 'Hola Mundo']

        # 定义按钮
        self.button = QtWidgets.QPushButton('Click me!')

        # 定义标签
        self.text   = QtWidgets.QLabel('Hello World!')

        # 文字居中对齐
        self.text.setAlignment(QtCore.Qt.AlignCenter)

        # 定义布局，垂直分布
        self.layout = QtWidgets.QVBoxLayout()

        # 在布局上添加文字
        self.layout.addWidget(self.text)
        self.layout.addWidget(self.button)

        # 在主窗口上设置布局
        self.setLayout(self.layout)

        # 添加槽链接
        self.button.clicked.connect(self.magic)

    # 定义槽函数
    def magic(self):
        self.text.setText(random.choice(self.hello))

if __name__ == '__main__':
    app    = QtWidgets.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())